package com.jgp.security.pojo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jgp.common.security.UserDetail;
import com.jgp.security.secmodel.SecInstitution;
import com.jgp.security.secmodel.SecResource;
import com.jgp.security.secmodel.SecRole;
import com.jgp.sys.model.Menu;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 项目   jgp-cloud-parent
 * 作者   loufei
 * 时间   2019-11-05
 */
@Getter
@Setter
public class UserInfo implements UserDetail,Serializable {
    
    private static final long serialVersionUID = 8205352571433933042L;
    
    private String id;
    
    private String clientId;
    
    private String[] excludeModels;
    
    private String username;
    
    private Boolean locked;
    
    private String realName;
    
    private String nickName;
    
    private String tel;
    
    private String email;
    
    private Integer encryptTime;
    
    private String endPointType;
    
    private String openId;
    
    private Map<String,Object> details = new HashMap<>();
    
    private List<SecRole> roles = new ArrayList<>();
    
    private List<SecInstitution> institutions= new ArrayList<>();
    
    private Map<String,SecInstitution> specialInstitutionMap = new HashMap<>();
    
    @JsonIgnore
    private Map<String,List<SecInstitution>> sInsAllMap = new HashMap<>();
    
    private List<Menu> menus= new ArrayList<>();
    
    private List<SecResource> resources = new ArrayList<>();
}
